//-*-c++-*-
// Copyright (C) 2002-2008 Nikolaus Gebhardt
// This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h

#ifndef __IRR_CIRCLE_2D_H_INCLUDED__
#define __IRR_CIRCLE_2D_H_INCLUDED__


#include "vector2d.h"

//! 2D line between two points with intersection methods.
template <class T>
class circle2d
{
public:
	//! Default constructor for line going from (0,0) to (1,1).
	circle2d() : center(0,0), radius(1) {}
	circle2d(T cx, T cy, T R) : center(cx,cy), radius(R) {}
	circle2d(const vector2d<T>& c, T R) : center(c), radius(R) {}
	
	vector2d<T> center;
	
	T radius;
};

//! Typedef for an f32 line.
typedef circle2d<float> circle2df;
//! Typedef for an integer line.
typedef circle2d<int> circle2di;

#endif

